package com.hl.order.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 订单查询对象 orders
 * 
 * @author ruoyi
 * @date 2025-08-07
 */
public class Orders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id，主键自增 */
    private Long orderId;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNo;

    /** 用户id，关联用户表 */
    @Excel(name = "用户id，关联用户表")
    private Long userId;

    /** 地址id，关联地址表 */
    @Excel(name = "地址id，关联地址表")
    private Long addressId;

    /** 店铺id，关联店铺表 */
    @Excel(name = "店铺id，关联店铺表")
    private Long shopId;

    /** 店铺地址 */
    @Excel(name = "店铺地址")
    private String shopAddress;

    /** 是否使用了优惠券（0-否 1-是） */
    @Excel(name = "是否使用了优惠券", readConverterExp = "0=-否,1=-是")
    private Long isCoupons;

    /** 使用的优惠券id，关联优惠券表 */
    @Excel(name = "使用的优惠券id，关联优惠券表")
    private Long couponsId;

    /** 订单种类(1-外卖订单 2-商城订单) */
    @Excel(name = "订单种类(1-外卖订单 2-商城订单)")
    private Long orderClass;

    /** 订单备注 */
    @Excel(name = "订单备注")
    private String orderDesc;

    /** 取餐号 */
    @Excel(name = "取餐号")
    private String queueNum;

    /** 配送费 */
    @Excel(name = "配送费")
    private BigDecimal deliveryFees;

    /** 总包装费 */
    @Excel(name = "总包装费")
    private BigDecimal totalWrapFees;

    /** 订单总价格 */
    @Excel(name = "订单总价格")
    private BigDecimal orderPrice;

    /** 实付价格 */
    @Excel(name = "实付价格")
    private BigDecimal realPrice;

    /** 平台抽取比例(百分比) */
    @Excel(name = "平台抽取比例(百分比)")
    private BigDecimal platformExtractRatio;

    /** 平台抽取金额 */
    @Excel(name = "平台抽取金额")
    private BigDecimal platformExtractPrice;

    /** 平台承担的配送费 */
    @Excel(name = "平台承担的配送费")
    private BigDecimal platformDeliveryFee;

    /** 平台实际收入 */
    @Excel(name = "平台实际收入")
    private BigDecimal platformIncome;

    /** 商家承担的配送费 */
    @Excel(name = "商家承担的配送费")
    private BigDecimal businessDeliveryFee;

    /** 商家实际收入 */
    @Excel(name = "商家实际收入")
    private BigDecimal businessIncome;

    /** 支付类型(1-微信支付 2-支付宝 3-其他) */
    @Excel(name = "支付类型(1-微信支付 2-支付宝 3-其他)")
    private Long payType;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 订单创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderCreateTime;

    /** 订单支付截止时间，超时自动取消 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单支付截止时间，超时自动取消", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderEndTime;

    /** 订单预计送达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单预计送达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderEstimateTime;

    /** 订单完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderCompleteTime;

    /** 配送方式(1-配送 2-自提) */
    @Excel(name = "配送方式(1-配送 2-自提)")
    private Long deliveryType;

    /** 自取时间（默认为下单后40分钟  可自选） */
    @Excel(name = "自取时间", readConverterExp = "默=认为下单后40分钟,可=自选")
    private Date takeTime;

    /** 预留电话 */
    @Excel(name = "预留电话")
    private String obligatePhone;

    /** 订单状态(1-待支付 2-待发货 3-待配送 4-配送中 5-已完成 6-已取消 7-售后处理中) */
    @Excel(name = "订单状态(1-待支付 2-待发货 3-待配送 4-配送中 5-已完成 6-已取消 7-售后处理中)")
    private Long orderStatus;

    /** 是否已打印(0-否 1-是) */
    @Excel(name = "是否已打印(0-否 1-是)")
    private Long isPrinted;

    /** 下单资金是否已转入商家账户(0-否 1-是) */
    @Excel(name = "下单资金是否已转入商家账户(0-否 1-是)")
    private Long isPayToMerchant;

    /** 是否已删除(0-否 1-是) */
    @Excel(name = "是否已删除(0-否 1-是)")
    private Long isDelete;

    /** 是否已售后(0-否 1-是) */
    @Excel(name = "是否已售后(0-否 1-是)")
    private Long isAfterSales;

    /** 是否已评价(0-否 1-是) */
    @Excel(name = "是否已评价(0-否 1-是)")
    private Long isEvaluate;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setAddressId(Long addressId) 
    {
        this.addressId = addressId;
    }

    public Long getAddressId() 
    {
        return addressId;
    }

    public void setShopId(Long shopId) 
    {
        this.shopId = shopId;
    }

    public Long getShopId() 
    {
        return shopId;
    }

    public void setShopAddress(String shopAddress) 
    {
        this.shopAddress = shopAddress;
    }

    public String getShopAddress() 
    {
        return shopAddress;
    }

    public void setIsCoupons(Long isCoupons) 
    {
        this.isCoupons = isCoupons;
    }

    public Long getIsCoupons() 
    {
        return isCoupons;
    }

    public void setCouponsId(Long couponsId) 
    {
        this.couponsId = couponsId;
    }

    public Long getCouponsId() 
    {
        return couponsId;
    }

    public void setOrderClass(Long orderClass) 
    {
        this.orderClass = orderClass;
    }

    public Long getOrderClass() 
    {
        return orderClass;
    }

    public void setOrderDesc(String orderDesc) 
    {
        this.orderDesc = orderDesc;
    }

    public String getOrderDesc() 
    {
        return orderDesc;
    }

    public void setQueueNum(String queueNum) 
    {
        this.queueNum = queueNum;
    }

    public String getQueueNum() 
    {
        return queueNum;
    }

    public void setDeliveryFees(BigDecimal deliveryFees) 
    {
        this.deliveryFees = deliveryFees;
    }

    public BigDecimal getDeliveryFees() 
    {
        return deliveryFees;
    }

    public void setTotalWrapFees(BigDecimal totalWrapFees) 
    {
        this.totalWrapFees = totalWrapFees;
    }

    public BigDecimal getTotalWrapFees() 
    {
        return totalWrapFees;
    }

    public void setOrderPrice(BigDecimal orderPrice) 
    {
        this.orderPrice = orderPrice;
    }

    public BigDecimal getOrderPrice() 
    {
        return orderPrice;
    }

    public void setRealPrice(BigDecimal realPrice) 
    {
        this.realPrice = realPrice;
    }

    public BigDecimal getRealPrice() 
    {
        return realPrice;
    }

    public void setPlatformExtractRatio(BigDecimal platformExtractRatio) 
    {
        this.platformExtractRatio = platformExtractRatio;
    }

    public BigDecimal getPlatformExtractRatio() 
    {
        return platformExtractRatio;
    }

    public void setPlatformExtractPrice(BigDecimal platformExtractPrice) 
    {
        this.platformExtractPrice = platformExtractPrice;
    }

    public BigDecimal getPlatformExtractPrice() 
    {
        return platformExtractPrice;
    }

    public void setPlatformDeliveryFee(BigDecimal platformDeliveryFee) 
    {
        this.platformDeliveryFee = platformDeliveryFee;
    }

    public BigDecimal getPlatformDeliveryFee() 
    {
        return platformDeliveryFee;
    }

    public void setPlatformIncome(BigDecimal platformIncome) 
    {
        this.platformIncome = platformIncome;
    }

    public BigDecimal getPlatformIncome() 
    {
        return platformIncome;
    }

    public void setBusinessDeliveryFee(BigDecimal businessDeliveryFee) 
    {
        this.businessDeliveryFee = businessDeliveryFee;
    }

    public BigDecimal getBusinessDeliveryFee() 
    {
        return businessDeliveryFee;
    }

    public void setBusinessIncome(BigDecimal businessIncome) 
    {
        this.businessIncome = businessIncome;
    }

    public BigDecimal getBusinessIncome() 
    {
        return businessIncome;
    }

    public void setPayType(Long payType) 
    {
        this.payType = payType;
    }

    public Long getPayType() 
    {
        return payType;
    }

    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }

    public void setOrderCreateTime(Date orderCreateTime) 
    {
        this.orderCreateTime = orderCreateTime;
    }

    public Date getOrderCreateTime() 
    {
        return orderCreateTime;
    }

    public void setOrderEndTime(Date orderEndTime) 
    {
        this.orderEndTime = orderEndTime;
    }

    public Date getOrderEndTime() 
    {
        return orderEndTime;
    }

    public void setOrderEstimateTime(Date orderEstimateTime) 
    {
        this.orderEstimateTime = orderEstimateTime;
    }

    public Date getOrderEstimateTime() 
    {
        return orderEstimateTime;
    }

    public void setOrderCompleteTime(Date orderCompleteTime) 
    {
        this.orderCompleteTime = orderCompleteTime;
    }

    public Date getOrderCompleteTime() 
    {
        return orderCompleteTime;
    }

    public void setDeliveryType(Long deliveryType) 
    {
        this.deliveryType = deliveryType;
    }

    public Long getDeliveryType() 
    {
        return deliveryType;
    }

    public void setTakeTime(Date takeTime) 
    {
        this.takeTime = takeTime;
    }

    public Date getTakeTime() 
    {
        return takeTime;
    }

    public void setObligatePhone(String obligatePhone) 
    {
        this.obligatePhone = obligatePhone;
    }

    public String getObligatePhone() 
    {
        return obligatePhone;
    }

    public void setOrderStatus(Long orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Long getOrderStatus() 
    {
        return orderStatus;
    }

    public void setIsPrinted(Long isPrinted) 
    {
        this.isPrinted = isPrinted;
    }

    public Long getIsPrinted() 
    {
        return isPrinted;
    }

    public void setIsPayToMerchant(Long isPayToMerchant) 
    {
        this.isPayToMerchant = isPayToMerchant;
    }

    public Long getIsPayToMerchant() 
    {
        return isPayToMerchant;
    }

    public void setIsDelete(Long isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Long getIsDelete() 
    {
        return isDelete;
    }

    public void setIsAfterSales(Long isAfterSales) 
    {
        this.isAfterSales = isAfterSales;
    }

    public Long getIsAfterSales() 
    {
        return isAfterSales;
    }

    public void setIsEvaluate(Long isEvaluate) 
    {
        this.isEvaluate = isEvaluate;
    }

    public Long getIsEvaluate() 
    {
        return isEvaluate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderNo", getOrderNo())
            .append("userId", getUserId())
            .append("addressId", getAddressId())
            .append("shopId", getShopId())
            .append("shopAddress", getShopAddress())
            .append("isCoupons", getIsCoupons())
            .append("couponsId", getCouponsId())
            .append("orderClass", getOrderClass())
            .append("orderDesc", getOrderDesc())
            .append("queueNum", getQueueNum())
            .append("deliveryFees", getDeliveryFees())
            .append("totalWrapFees", getTotalWrapFees())
            .append("orderPrice", getOrderPrice())
            .append("realPrice", getRealPrice())
            .append("platformExtractRatio", getPlatformExtractRatio())
            .append("platformExtractPrice", getPlatformExtractPrice())
            .append("platformDeliveryFee", getPlatformDeliveryFee())
            .append("platformIncome", getPlatformIncome())
            .append("businessDeliveryFee", getBusinessDeliveryFee())
            .append("businessIncome", getBusinessIncome())
            .append("payType", getPayType())
            .append("payTime", getPayTime())
            .append("orderCreateTime", getOrderCreateTime())
            .append("orderEndTime", getOrderEndTime())
            .append("orderEstimateTime", getOrderEstimateTime())
            .append("orderCompleteTime", getOrderCompleteTime())
            .append("deliveryType", getDeliveryType())
            .append("takeTime", getTakeTime())
            .append("obligatePhone", getObligatePhone())
            .append("orderStatus", getOrderStatus())
            .append("isPrinted", getIsPrinted())
            .append("isPayToMerchant", getIsPayToMerchant())
            .append("isDelete", getIsDelete())
            .append("isAfterSales", getIsAfterSales())
            .append("isEvaluate", getIsEvaluate())
            .toString();
    }
}
